#include <QSerialPortInfo>

#include "SerialEvent.h"
#include "UtilityTH.h"

SerialEvent::SerialEvent()
{
//    serialport.setPortName("/dev/ttymxc0");
    serialport.setPortName("/dev/ttymxc3");
    if(serialport.open(QIODevice::ReadWrite))
    {
        //设置波特率
        serialport.setBaudRate(115200);
        //设置数据位
        serialport.setDataBits(QSerialPort::Data8);
        //设置校验位
        serialport.setParity(QSerialPort::EvenParity);
        //设置流控制
        serialport.setFlowControl(QSerialPort::NoFlowControl);
        //设置停止位
        serialport.setStopBits(QSerialPort::OneStop);
    }

    connect(&serialport,&QSerialPort::readyRead,this,&SerialEvent::Read);

}

void SerialEvent::Event()
{
    //    QByteArray array;
    //    array.resize(7);
    //    array [0] = 0x67;
    //    array [1] = 0x00;
    //    array [2] = 0xC1;
    //    array [3] = 0x04;
    //    array [4] = 0x00;
    //    array [5] = 0xC5;
    //    array [6] = 0xFB;
    //    serialport.write(array);
        unsigned char aa[7];
        aa[0] = 0x67;
        aa[1] = 0x00;
        aa[2] = 0xC1;
        aa[3] = 0x04;
        aa[4] = 0;
        aa[5] = CheckSum(&aa[2],3);
        aa[6] = 0xFB;
    //    QByteArray databuf = QByteArray((char*)aa, 7);
        serialport.write((char*)aa, 7);

//    qDebug() << "Receives Newspaper: ";

}


void SerialEvent::Read()
{
    //读取串口数据
    QByteArray readComData = serialport.readAll();
    //将读到的数据显示到数据接收区的text中
    if(readComData != nullptr)
    {
//        printf("data[7] is %d\n",readComData.data()[7]);
    }
    //清除缓冲区
    readComData.clear();
}

